#pragma once
#include "InterestTable.h"
#include <string>
#include <ostream>

using namespace std;
class Person : public InterestTable
{

public:
	string Geschlecht;
	string Nom;
	InterestTable Hobbies;

	Person(void)
	{
		Geschlecht = "";
		Nom = "";
	}

	Person(string koen, string namn, bool coding, bool horses, bool magic, bool party, bool yoga)
	{
		Geschlecht = koen;
		Nom = namn;
		setCoding(coding);
		setHorses(horses);
		setMagic(magic); 
		setParty(party);
		setYoga(yoga);
	}


	void setCoding(bool x) { Hobbies.setCoding(x); } 
	void setHorses(bool x) { Hobbies.setHorses(x); }
	void setMagic(bool x) { Hobbies.setMagic(x); }
	void setParty(bool x) { Hobbies.setParty(x); }
	void setYoga(bool x) { Hobbies.setYoga(x); }
	void setHobbies(bool coding, bool horses, bool magic, bool party, bool yoga)
	{
		Hobbies.setCoding(coding);
		Hobbies.setHorses(horses);
		Hobbies.setMagic(magic);
		Hobbies.setParty(party);
		Hobbies.setYoga(yoga);
	}

	string getName(){ return Nom; }
	bool getCoding() {return Hobbies.getCoding(); }
	bool getHorses() {return Hobbies.getHorses(); }
	bool getMagic() {return Hobbies.getMagic(); }
	bool getParty() {return Hobbies.getParty(); }
	bool getYoga() {return Hobbies.getYoga(); }
	string getHobbies()
	{
		string hobbies = Hobbies.getInterests();
		return hobbies;
	}


	friend ostream& operator<<(ostream &o, Person p)
	{
		o << p.Nom << "[" << p.Hobbies.getInterests() << "]" << endl;
		return o;
	}


	~Person(void)
	{
	}
};

